iT邦幫忙

2023 iThome 鐵人賽

DAY 15
0

Hello, 我是 Weber,一位工程師,斜槓鼓手與行銷顧問。
今天是每日一套件的第 15 天,繼續跟著我一起認識 Rails 開發好用的 30 個套件,建立出自己的常用套件庫吧!

Day 15: AASM

是一個狀態管理的套件,幫助管理不同狀態。什麼叫做管理不同狀態呢?
這可能要先解釋一下,什麼是有限狀態機(finite state machines)是什麼?

指的是在“有限狀態”之間作轉移,直接舉個例子來說:
以電商訂單來說,確認訂單、付款、取消訂單、出貨、到貨、退貨、退款,這些應該都是要有前後順序的。
好比說,你一定要有訂單先,你才有可能取消訂單。你要先有出貨,你才有所謂的到貨。

還有另一個很常聽到的例子,開門 / 關門,你一定要先開門,才能關門;反過來門要先關起來,才能再開門。
這個時候就可以用 AASM 幫我們簡化定義狀態及控制的流程啦!

安裝方式:

起手式一樣的 bundle add

bundle add aasm

上一篇
Day 14: 鏈鋸工程師? - Nokogiri
下一篇
Day 16: 背景作業的強力側踢 - Sidekiq (上)
系列文
Rails 開發,每日一套件介紹! 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言